1. Technical Field
The present invention relates to a digital processing device, more specifically to a digital processing device having a shared memory shared by a plurality of processors.
2. Description of the Related Art
A portable terminal refers to a compact electronic device that is designed to be easily carried by a user in order to perform functions such as game or mobile communication. A portable terminal can be a mobile communication terminal, a personal digital assistant (PDA) or a portable multimedia player (PMP).
The mobile communication terminal is essentially a device designed to enable a mobile user to telecommunicate with a receiver who is remotely located. Thanks to scientific development, however, the latest mobile communication terminals have functions, such as camera and multimedia data playback, in addition to the basic functions, such as voice communication, short message service and address book.
FIG. 1 is s a block diagram illustrating a conventional mobile communication terminal having a camera function.
Referring to FIG. 1, the mobile communication terminal 100 having a camera function comprises a high frequency processing unit 110, an analog-to-digital converter 115, a digital-to-analog converter 120, a processing unit 125, a power supply 130, a key input 135, a main memory 140, a display 145, a camera 150, an image processing unit 155 and a support memory 160.
The high frequency processing unit 110 processes a high frequency signal, which is transmitted or received through an antenna.
The analog-to-digital converter 115 converts an analog signal, outputted from the high frequency processing unit 110, to a digital signal and sends to the processing unit 125.
The digital-to-analog converter 120 converts a digital signal, outputted from the processing unit 125, to an analog signal and sends to the high frequency processing unit 110.
The processing unit 125 controls the general operation of the mobile communication terminal 100. The processing unit 125 can include a central processing unit (CPU) or a micro-controller.
The power supply 130 supplies electric power required for operating the mobile communication terminal 100. The power supply 130 can include a port for being coupled to, for example, an external power source or a battery.
The key input 135 generates key data for, for example, setting various functions or dialing of the mobile communication terminal 100 and sends the key data to the processing unit 125. For example, the key input 135 can be realized as a key pad including a plurality of key buttons.
The main memory 140 stores an operating system and a variety of data of the mobile communication terminal 100. The main memory 140 can be, for example, a flash memory or an EEPROM (Electrically Erasable Programmable Read Only Memory).
The display 145 displays the operation status of the mobile communication terminal 100 and an external image photographed by the camera 150. For example, the display 145 can include a liquid crystal display (LCD) panel.
The camera 150 photographs an external image (a photographic subject) and generates and outputs an image signal corresponding to the photographed external image.
The image processing unit 155 processes the external image photographed by the camera 150. The image processing unit 155 can perform functions such as color interpolation, gamma correction, image quality correction and JPEG encoding. The camera 150 and the image processing unit 155 can be controlled by the processing unit 125.
The support memory 160 stores the external image processed by the image processing unit 155.
As described above, the mobile communication terminal 100 having a camera function is equipped with a plurality of processors (i.e. a main processor and one or more application processors for performing additional functions). For example, the mobile communication terminal 100, illustrated in FIG. 1, includes the processing unit 125 as a main processor for controlling general functions of the mobile communication terminal 100 and the image processing unit 155 as an application processor for controlling the camera function. Here, the image processing unit 155 is controlled by the processing unit 125. The processing unit 125 and the image processing unit 155 are embodied as a separate processor, respectively, and each processor is structured to be coupled to an independent memory.
The type of the application processor, which can be realized as a separate processor, respectively, and controlled by the main processor, can be varied depending on the additional function equipped in the portable terminal. For example, the application processor for controlling the camera function can process functions such as JPEG encoding and JPEG decoding; the application processor for controlling the movie file playback function can process functions such as video file (e.g., MPEG4, DIVX, H.264) encoding and decoding; and the application processor for controlling the music file playback function can process functions such as audio file encoding and decoding. Of course, there can be an application processor that can collectively process various aforementioned functions.
Each of these processors is individually coupled to a memory for storing the data processed by the processor. Accordingly, according to the conventional art, it is necessary to increase the number of processors and memories as portable terminals become increasingly multifunctional, which, as a result, causes to increase the external size of the portable terminal.
FIG. 2 is an example illustrating a coupling structure among a main processor, an application processor, their corresponding memories and a display device in accordance with the conventional art.
Referring to FIG. 2, a main processor 210 and an application processor 220 communicate information with each other (e.g., a command for controlling the application processor and data to be processed by the application processor 220) through a coupled bus.
A bus typically refers to a common-purpose electric pathway that is used to transmit information between the processor, the main memory and the input/output in a device such as a computer. The bus includes a line for data, designating the address of each device or the position of the memory, and a line for distinguishing a variety of data transmission operations to be processed. Hereinafter, the bus, which couples the main processor 210 to the application processor 220, is called an MP (main processor)-AP (application processor) bus.
The main processor 210 is coupled to the main memory 230 through a bus, which called an MP (main processor)-MM (main memory) bus, and the application processor 220 is coupled to the supplementary memory 240 through an independent bus, which is called an AP (application processor)-AM (application memory) bus.
The application processor 220, which is coupled to the display device 250, allows information corresponding to a command of the main processor 210, information transferred from the main processor 210 or data processed by the application processor 220, to be displayed through the display device 250. It is well-known to any persons of ordinary skill in the art that the display device 250 is able to be controlled by the main processor 210 or the application processor 220 according to types of information and/or to be supposed to be displayed.
As illustrated in FIG. 2, the processors 210 and 220 is independently coupled to the memories 230 and 240, respectively. Thus, according to the operation that is required to be currently performed, the main processor 210, for example, reads data stored in the main memory 230 and transmits the data to the application processor 220 through the host interface or reads data stored in the supplementary memory 240 by requiring the application processor 220.hy
In other words, in case the main processor 210 and the application processor 220, respectively, processes data, the main processor 210 accesses the main memory 230 to read data and performs necessary processing of the read data. Then, the main processor 210 transmits the processed data to the application processor 220. The application processor 220 re-processes the received data and stores the data in the supplementary memory 240. Then, the application processor 220 transmits the data, stored in the supplementary memory 240, back to the main processor 210 so as to be stored in the main memory 230.
In this case, the larger the amount of data is received and transmitted between the main processor 210 and the application processor 220, the more time each of the processors 210 and 220 has to spend on the operation (i.e. memory accessing, data reading, host interface operation) required by the other processor rather than its original process.
For example, in the case of processing 3-D graphic data having large transmission amount and displaying the processed graphic data through the display device 250, the main processor 210 reads and processes the data, stored in the main memory 230, and then, transmits the processed data to the application processor 220 through the MP-AP bus. The application processor 220 stores the data (e.g., polygon data and texture data), received through the MP-AP bus in the supplementary memory 240, and then, reads and processes the stored data so as to display the data through the display 250.
In the case of processing the 3-D graphic data, there is naturally a large amount of data received and transmitted between the main processor 210 and the application processor 220, to thereby lead to the loss of the unnecessary time and the processing efficiency of each processor 210 and 220 in large data communication.
Beside that, a bottleneck is caused in data communication between the main processor 210 and the application processor 220 as the amount of data to be processed and the functions performed by the portable terminal increase.
As a result, the problems described above weaken the overall performance of a multi-function portable terminal.